ieee_features: IEEE feature support module

Contents

Name

ieee_features - Intrinsic module for requesting IEEE feature support

Usage

USE,INTRINSIC :: IEEE_FEATURES [,ONLY:feature [,feature]...]

This module provides a mechanism to request support for particular IEEE features.

The contents of this module conform to technical report ISO/IEC TR 15580:1998(E).

Synopsis

Derived Types
IEEE_FEATURES_TYPE.
Parameters
IEEE_DATATYPE, IEEE_DENORMAL, IEEE_DIVIDE, IEEE_HALTING, IEEE_INEXACT_FLAG, IEEE_INF, IEEE_INVALID_FLAG, IEEE_NAN, IEEE_ROUNDING, IEEE_SQRT, IEEE_UNDERFLOW_FLAG.

Derived-Type Description

  TYPE IEEE_FEATURES_TYPE
    PRIVATE
    ...
  END TYPE
This type is the type of the named constants exported by this module. It is provided solely for access to these named constants.

Parameter Description

Accessing these parameters (on the USE statement) requests support for the specified IEEE features. For example,

  USE,INTRINSIC :: IEEE_FEATURES,ONLY:IEEE_INF,IEEE_NAN
will cause compilation to fail if the requested features (IEEE infinities and NaNs) cannot be supported. Note that a USE statement for IEEE_FEATURES with no ONLY clause will request support for all the possible features.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DATATYPE
Requests IEEE arithmetic support, returning .TRUE. from IEEE_SUPPORT_DATATYPE(X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DENORMAL
Requests support for IEEE denormalised numbers, returning .TRUE. from IEEE_SUPPORT_DENORMAL(X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_DIVIDE
Requests support for IEEE division, returning .TRUE. from IEEE_SUPPORT_DIVIDE(X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_HALTING
Requests support for changing the halting mode, return .TRUE. from IEEE_SUPPORT_HALTING for at least one exception flag.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INEXACT_FLAG
Requests support for the inexact exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_INEXACT,X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INF
Requests support for IEEE infinities, returning .TRUE. from IEEE_SUPPORT_INF(X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_INVALID_FLAG
Requests support for the invalid exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_INVALID,X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_NAN
Requests support for IEEE NaNs (Not-a-Number values), returning .TRUE. from IEEE_SUPPORT_NAN(X) for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_ROUNDING
Requests support for dynamic setting of all IEEE rounding modes, returning .TRUE. from IEEE_SUPPORT_ROUNDING(ROUND_VALUE,X) for all rounding modes for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_SQRT
Requests support for IEEE sqrt, returning .TRUE. from IEEE_SUPPORT_SQRT for at least one kind of REAL.

  TYPE(IEEE_FEATURES_TYPE),PARAMETER :: IEEE_UNDERFLOW_FLAG
Requests support for the underflow exception, returning .TRUE. from IEEE_SUPPORT_FLAG(IEEE_UNDERFLOW,X) for at least one kind of REAL.

See Also

f95(1), ieee_exceptions(3), ieee_features(3), intro(3), nag_modules(3).

Bugs

Please report any bugs found to "support@nag.co.uk" or "infodesk@nag.com", along with any suggestions for improvements.